//app.js
import { wxLogin } from './config/https';
App({
  onLaunch: function () {
    // 打开调试
    // wx.setEnableDebug({
    //   enableDebug: true
    // })
    // wx.setClipboardData({data: '123456'})
    const updateManager = wx.getUpdateManager()

    updateManager.onCheckForUpdate(function (res) {
      // 请求完新版本信息的回调
      wx.removeStorage({ key: 'shopCarInfo' });
    })

    updateManager.onUpdateReady(function () {
      // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
      updateManager.applyUpdate();
      // wx.showModal({
      //   title: '更新提示',
      //   content: '新版本已经准备好，是否重启应用？',
      //   success: function (res) {
      //     if (res.confirm) {
      //       // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
      //       updateManager.applyUpdate()
      //     }
      //   }
      // })
    })

    updateManager.onUpdateFailed(function () {
      // 新的版本下载失败
    })
  },
  //检测是否登录及授权
  session(cd) {
    const that = this;
    const user_id = wx.getStorageSync("user_id");
    const userInfo = wx.getStorageSync("userInfo");
    // 如果存在userInfo及user_id就不需要登录
    // 判断用户是否已经授权
    if (user_id && userInfo) {
      //检测用户的登录态
      wx.checkSession({
        success: (res) => {
          //登录态未过期，并且在本生命周期一直有效
          that.globalData.user_id = user_id;
          cd && typeof cd == 'function' && cd();
        },
        fail: (err) => {
          console.log('用户状态已过期')
          //登录态过期,重新登录
          that.login();
        }
      })
    } else {
      //获取授权状态
      wx.getSetting({
        success(res) {
          if (res.authSetting['scope.userInfo']) {
            // 已经授权，可以直接调用 getUserInfo 获取头像昵称
            wx.getUserInfo({
              success: res => {
                wx.setStorageSync('userInfo', res.userInfo);
                that.globalData.userInfo = res.userInfo
                that.login(() => {
                  wx.hideLoading()
                  wx.reLaunch({
                    url: '/pages/index/index',
                  })
                })
              }
            })
          } else {
            wx.hideLoading()
            // 未授权=> 去授权
            wx.reLaunch({
              url: '/pages/authorization/authorization'
            })
          }
        }
      })
    }
  },

  login(cd) {
    wx.login({  //发起微信登录
      success: (res) => {
        let userData = {
          code: res.code
        };
        wx.getStorage({
          key: 'userInfo',
          success: userInfo => {
            userData.avatar = userInfo.data.avatarUrl
            userData.nickname = userInfo.data.nickName
            wxLogin(userData).then(res => {
              this.globalData.user_id = res['3rd_session'];
              wx.setStorage({
                key: 'user_id',
                data: res['3rd_session'],
              })
              cd && typeof cd == 'function' && cd();
              wx.reLaunch({
                url: '/pages/index/index',
              })
            }).catch(err => {
              wx.showToast({
                title: err || "登录失败",
                icon: 'none',
              })
            })
          }
        })
      }
    })
  },
  globalData: {
    userInfo: null,
    user_id: 31, //用户id
    mapKey: 'MSABZ-SVA3R-INNWJ-WWIGV-OW7N6-D6BUQ', //腾讯位置key
    vanTab: {}, //找材料导航索引
    customer: '123456', //客服电话
    location: {
      latitude: 28.62084,
      longitude: 115.9258,
      city: '南昌市',
    }, //位置信息
    is_open: 0, //是否开通服务0=>未开通，1=>已开通
    webUrl: null, //web链接
  }
})